/*!
  @file   VectorTypes.hpp
  @author Hamza Hutchinson
  @date   04/29/2009
  @brief  
    Unit tests for matrix types.
*/
#include "MatrixTypes_Test.hpp"
#include "../Source/MatrixTypes.hpp"

#include <iostream>
#include <cmath>

namespace MatrixTest
{

  typedef bool (*TestFunc)(void);


  void TestALL()
  {
    TestALLMat3();
    TestALLMat4();
  }

  //Vector3D tests
  bool TestMat3_00() // operator==
  {
    VectorTypes::Matrix3D m1(1, 2, 3,
                             4, 5, 6,
                             7, 8, 9);
    VectorTypes::Matrix3D m2(1, 2, 3,
                             4, 5, 6,
                             7, 8, 9);

    return m1 == m2;
  }

  void TestALLMat3()
  {
    TestFunc tests[] = { TestMat3_00 };
    int numTests = sizeof(tests) / sizeof(TestFunc);

    for(int i = 0; i < numTests; ++i)
    {
      if(!(tests[i]()))
        std::cout << "Test " << i << " Failed." << std::endl;
    }
  }

  //Vector4D tests
  void TestALLMat4()
  {
  }

}//namespace VectorTest
